package com.edward.puff.repository;

import java.util.List;

/**
 * @Author: Edward
 * @Date: 2019/11/27 下午11:58
 * <p>
 * TransLog持久化接口
 */
public interface TransLogRepository {

    /**
     * 保存事务日志
     *
     * @param txLog
     */
    void saveTransLog(PuffTransLog txLog);

    /**
     * 根据txLogId,查询事务日志
     *
     * @param txLogId
     * @return
     */
    PuffTransLog getTransLog(String txLogId);

    /**
     * 查询重试TxLog
     *
     * @param count
     * @return
     */
    List<PuffTransLog> queryRetryTranLogs(int count);

    /**
     * 完结TxLog
     *
     * @param txLogId
     * @return
     */
    boolean finishTransLog(String txLogId);

    /**
     * 更新PuffTransLog
     *
     * @param txLogId
     * @return
     */
    boolean updateTransLog(String txLogId);
}
